package medium;

/**
 * 1953. 你可以工作的最大周数
 * 创建时间：2024-05-16 21:24
 * 地址：https://leetcode.cn/problems/maximum-number-of-weeks-for-which-you-can-work/?envType=daily-question&envId=2024-05-16
 **/
public class 你可以工作的最大周数_1953 {
    static class Solution {
        public long numberOfWeeks(int[] milestones) {
            int max = Integer.MIN_VALUE;
            long sum = 0; // 除了最大元素外的所有元素之和
            for (int milestone : milestones) {
                max = Math.max(milestone, max);
                sum += milestone;
            }
            sum -= max;
            // max >= sum - 1
            return max > sum + 1 ? 2 * sum + 1 : sum + max;
        }
    }
}
